In a conventional transaction in which a client selects a good or service, the client generally has a set of preferences associated with a similar or dissimilar set of goods or services. In a mathematical sense, one can make a one-to-one correspondence between the set of preferences and the set of goods or services. For example, given the ordered set of goods or services:
{book “A1”, film “A2”, restaurant “A3”, . . . , music “A200”}
where “A1-A200” denote, for example specific products or services, and given client “U”, the ordered preferences may be expressed as for example Boolean quantities: U's preferences:
{book “A1”: yes, film “A2”: not yes, restaurant “A3”: yes, . . . , music “A200”: yes} This may be expressed in the shorthand form, using “1” to denote “yes”, “0” to denote “not yes”, and “U′ to denote “U's preferences” as a row vector containing 200 entries:U={1,0,1, . . . , 1}
Suppose that there is an additional item of interest: book “A201,” of which U's Boolean preference is unknown: “0”. Denoting book “A201” in the ordered set as one increment to the right, one may express this as:U={1,0,1, . . . , 1, 0}
Suppose, further, that the following preferences for other clients, Z1-Z1000 are known and encompass book “A201”:
Z1={0, 1, 0, . . . , 1, 1}
Z2={1, 1, 1, . . . , 0, 1}
Z3={1, 1, 0, . . . , 1, 0}
. . . .
Z1000={0, 0, 1, . . . , 1, 1}
Personalization systems are generally designed in order to provide a robust recommendation for client U regarding item A201, based upon known preferences of client U as well as known preferences of other clients Z1-Z1000. The use of conventional personalization systems or recommendation systems in E-commerce is described in “Recommender Systems in E-Commerce,” Proceedings of the ACM Conference on Electronic Commerce, Nov. 3-5, 1999, by Schafer et al.
One skilled in the art will appreciate that the utility of a recommendation system is driven by the method used for determining the amount of correlation that exists between the votes for two or more items, or by the amount of correlation that exists between the votes of two or more clients. There are a number of ways of determining correlation, for example, as discussed in “An Algorithmic Framework for Performing Collaborative Filtering,” Proceedings of the 1999 Conference on Research and Development in Information Retrieval, August 1999, by Herlocker et al. Such methods include, for example the computation of Pearson correlations, as used in the GROUPLENS system, the calculation of Spearman rank correlation coefficients, or a least-squares comparison.
A basic problem with conventional recommendation systems, however, is directly related to the issue of combinatorial explosion. The volume of data collected from clients engaged in E-commerce is outpacing the conventionally applied computational ability to rapidly process such preferences and generate accurate recommendations. Although the introductory examples articulated in this document represent relatively trivial matrices (i.e. 201×201 matrices, or 1,000×1,000 matrices), in actual practice one must be able to work with matrices of the order of 1,000,000×1,000,000 and higher. In light of the foregoing, it remains desirable to introduce a system and method that can accurately process large ratings-matrices in a rapid fashion so as to generate accurate recommendations.
Another concern with conventional systems is related to the desire to preserve client data privacy. With such a large amount of data being processed for a given client, it is desirable for a system and method that will not allow one to reconstruct the original data set from the disclosed portion of the recommendation model.